import type { LegacyRef } from 'react';
import type { ColorEnum, IconEnum } from '../common';

export type IconSizeEnum = 'mini' | 'tiny' | 'small' | 'large' | 'big' | 'huge' | 'massive';

export interface IconOptions {
  /**
   * 图标名称
   */
  name: IconEnum;
  /**
   * 是否禁用状态
   * @default false
   */
  disabled?: boolean;
  /**
   * 是否加载中状态
   * @default false
   */
  loading?: boolean;
  /**
   * 是否使图标周围没有空间
   * @default false
   */
  fitted?: boolean;
  /**
   * 尺寸大小
   * @default undefined
   */
  size?: IconSizeEnum;
  /**
   * 链接样式
   * @default false
   */
  link?: boolean;
  /**
   * 翻转；horizontally：水平翻转；vertically：垂直翻转
   * @default undefined
   */
  flipped?: 'horizontally' | 'vertically';
  /**
   * 旋转；clockwise：顺时针旋转；counterclockwise：逆时针旋转
   * @default undefined
   */
  rotated?: 'clockwise' | 'counterclockwise';
  /**
   * 圆形化
   * @default false
   */
  circular?: boolean;
  /**
   * 边框
   * @default false
   */
  bordered?: boolean;
  /**
   * 颜色
   * @default undefined
   */
  color?: 'primary' | 'secondary' | ColorEnum;
  /**
   * 是否深色背景显示
   * @default false
   */
  inverted?: boolean;
  /**
   * 转发 ref
   */
  forwardedRef?: LegacyRef<HTMLElement>;
}
